#include "fusexmp.h"
#include "log.h"
struct xmp_operations : fuse_operations {
    xmp_operations() {
      getattr = xmp_getattr;
      access = xmp_access;
      readlink = xmp_readlink;
      readdir = xmp_readdir;
      mknod = xmp_mknod;
      mkdir = xmp_mkdir;
      unlink = xmp_unlink;
      rmdir = xmp_rmdir;
      symlink = xmp_symlink;
      rename = xmp_rename;
      link = xmp_link;
      chmod = xmp_chmod;
      chown = xmp_chown;
      truncate = xmp_truncate;
      utimens = xmp_utimens;
      open = xmp_open;
      read = xmp_read;
      write = xmp_write;
      statfs = xmp_statfs;
      release = xmp_release;
      fsync = xmp_fsync;	  
#ifdef HAVE_SETXATTR
      setxattr = xmp_setxattr;
      getxattr = xmp_getxattr;
      listxattr = xmp_listxattr;
      removexattr = xmp_removexattr;
#endif
	}
} xmp_oper;
int main(int argc, char *argv[])
{
	log_init("xmp_log");
	umask(0);
	int ret =  fuse_main(argc, argv, &xmp_oper, NULL);
	log_finish();
	return ret;
}